home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / BmpView / bmpView.jar / MyCanvas.class (.txt) < prev   
Encoding:
Java Class File  |  2002-01-31  |  4.9 KB  |  161 lines

  1. import com.siemens.mp.io.File;
  2. import javax.microedition.lcdui.Alert;
  3. import javax.microedition.lcdui.Canvas;
  4. import javax.microedition.lcdui.Command;
  5. import javax.microedition.lcdui.CommandListener;
  6. import javax.microedition.lcdui.Display;
  7. import javax.microedition.lcdui.Displayable;
  8. import javax.microedition.lcdui.Font;
  9. import javax.microedition.lcdui.Graphics;
  10. import javax.microedition.lcdui.Image;
  11. import javax.microedition.lcdui.TextBox;
  12.  
  13. class MyCanvas extends Canvas implements CommandListener {
  14.    private bmpView midlet;
  15.    private Display display;
  16.    // $FF: renamed from: g2 javax.microedition.lcdui.Graphics
  17.    private Graphics field_0;
  18.    static int gLT = 20;
  19.    static int gLB = 68;
  20.    static int MAX_LENGTH = 5000;
  21.    // $FF: renamed from: wY int
  22.    private int field_1 = ((Canvas)this).getHeight();
  23.    // $FF: renamed from: wX int
  24.    private int field_2 = ((Canvas)this).getWidth();
  25.    private Command cmExit = new Command("Exit", 1, 5);
  26.    private Command cmInfo = new Command("Info", 1, 3);
  27.    private Command cmLoad = new Command("Load", 1, 1);
  28.    static String header = "RizaPN bmpViewer";
  29.    private Alert alert;
  30.    private TextBox fname;
  31.    private Command cmOK;
  32.    private Command cmCancel;
  33.    private String stText;
  34.    private Image image0;
  35.    // $FF: renamed from: fn com.siemens.mp.io.File
  36.    private File field_3;
  37.    private Font font;
  38.  
  39.    public MyCanvas(bmpView var1, Display var2) {
  40.       this.alert = new Alert(header);
  41.       this.fname = new TextBox(header, "", 32, 0);
  42.       this.cmOK = new Command("OK", 7, 6);
  43.       this.cmCancel = new Command("Cancel", 7, 7);
  44.       this.stText = header;
  45.       this.field_3 = new File();
  46.       this.font = Font.getFont(64, 1, 8);
  47.       this.midlet = var1;
  48.       this.display = var2;
  49.       ((Displayable)this).addCommand(this.cmLoad);
  50.       ((Displayable)this).addCommand(this.cmInfo);
  51.       ((Displayable)this).addCommand(this.cmExit);
  52.       ((Displayable)this).setCommandListener(this);
  53.       this.fname.addCommand(this.cmOK);
  54.       this.fname.addCommand(this.cmCancel);
  55.       this.image0 = Image.createImage(this.field_2, this.field_1);
  56.    }
  57.  
  58.    public void paint(Graphics var1) {
  59.       this.field_0 = var1;
  60.       var1.setColor(0, 0, 0);
  61.       var1.setFont(this.font);
  62.       var1.drawImage(this.image0, 0, 0, gLT);
  63.       var1.drawString(this.stText, 2, this.field_1 - 9, gLT);
  64.    }
  65.  
  66.    public void keyPressed(int var1) {
  67.    }
  68.  
  69.    public void commandAction(Command var1, Displayable var2) {
  70.       int var5 = 0;
  71.       if (var1 == this.cmExit) {
  72.          this.midlet.exitMIDlet();
  73.       } else if (var1 == this.cmLoad) {
  74.          this.showText();
  75.       } else if (var1 != this.cmCancel && var1 != this.cmOK) {
  76.          this.showInfo();
  77.       } else {
  78.          if (var1 == this.cmOK) {
  79.             this.stText = this.fname.getString() + ".bmp";
  80.             if (File.exists(this.stText) >= 0) {
  81.                try {
  82.                   int var4 = this.field_3.open(this.stText);
  83.                   var5 = this.field_3.length(var4);
  84.                   if (var5 > MAX_LENGTH) {
  85.                      var5 = MAX_LENGTH;
  86.                   }
  87.  
  88.                   byte[] var15 = new byte[var5];
  89.                   this.field_3.read(var4, var15, 0, var5);
  90.                   this.field_3.close(var4);
  91.                   int var6 = var15[18];
  92.                   if (var6 < 0) {
  93.                      var6 += 256;
  94.                   }
  95.  
  96.                   int var7 = var15[22];
  97.                   if (var7 < 0) {
  98.                      var7 += 256;
  99.                   }
  100.  
  101.                   int var10 = var15[17];
  102.                   if (var10 < 0) {
  103.                      var10 += 256;
  104.                   }
  105.  
  106.                   var6 += 256 * var10;
  107.                   var10 = var15[21];
  108.                   if (var10 < 0) {
  109.                      var10 += 256;
  110.                   }
  111.  
  112.                   var7 += 256 * var10;
  113.                   byte var14 = var15[58];
  114.                   var6 = (31 + var6) / 32 * 32;
  115.                   int var11 = var6 / 8;
  116.                   byte[] var16 = new byte[var11 * var7];
  117.                   int var12 = 0;
  118.                   int var13 = 0;
  119.                   int var9 = 62 + var11 * (var7 - 1);
  120.  
  121.                   while(var9 >= 62) {
  122.                      if (var14 == 0) {
  123.                         var16[var13] = var15[var9];
  124.                      } else {
  125.                         var16[var13] = (byte)(var15[var9] ^ 255);
  126.                      }
  127.  
  128.                      ++var9;
  129.                      ++var12;
  130.                      ++var13;
  131.                      if (var12 == var11) {
  132.                         var12 = 0;
  133.                         var9 -= 2 * var11;
  134.                      }
  135.                   }
  136.  
  137.                   this.image0 = com.siemens.mp.ui.Image.createImageFromBitmap(var16, var6, var7);
  138.                   this.stText = "(" + var6 + "x" + var7 + ")";
  139.                } catch (Exception var18) {
  140.                }
  141.             } else {
  142.                this.stText = "Not Found!";
  143.             }
  144.          }
  145.  
  146.          this.display.setCurrent(this);
  147.       }
  148.  
  149.    }
  150.  
  151.    public void showText() {
  152.       this.fname.setCommandListener(this);
  153.       this.display.setCurrent(this.fname);
  154.    }
  155.  
  156.    public void showInfo() {
  157.       this.alert.setString("bmpViewer for MIDP by RizaPN\n\nIt can display monochrome bitmap saved in its storage directory.\n\nSalam,\nRiza Purwo Nugroho\nJakarta - Indonesia");
  158.       this.display.setCurrent(this.alert);
  159.    }
  160. }
  161.